home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 4 / MacMania 4.toast / / Sound / SoundEffects 0.9.2 / SoundEffects Developer’s Kit / Interfaces / ModUnitConversion.c < prev    next >
C/C++ Source or Header  |  1994-11-10  |  946b  |  42 lines

  1. #include "Glue.h"
  2. #include "ModUnitConversion.h"
  3. #include "ModTypeConversion.h"
  4. #include <SANE.h>
  5.  
  6.  
  7. // REQUIRES "ModTypeConversion.c" AND THE SANE LIBRARY.
  8.  
  9.  
  10. void ConvBytesToMilliseconds(unsigned long value, ModParamsPtr modInfo, double *myDouble, unsigned long *myLong)
  11. {
  12.     double            dblVal, dblRate;
  13.     unsigned long    newVal;
  14.     short            frameSize;
  15.     
  16.     frameSize = modInfo->bps/8 + (modInfo->bps%8 != 0);
  17.     
  18.     MyUnsignedFix2Double(modInfo->rate, &dblRate);
  19.     dblVal = (double)(value/frameSize)/dblRate*1000;
  20.     
  21.     if (myDouble)
  22.         *myDouble = dblVal;
  23.     if (myLong)
  24.         *myLong = (unsigned long)dblVal;
  25. }
  26.  
  27.  
  28. unsigned long ConvMillisecondsToBytes(double value, ModParamsPtr modInfo)
  29. {
  30.     double            dblVal, dblRate;
  31.     unsigned long    newVal;
  32.     short            frameSize;
  33.     
  34.     frameSize = modInfo->bps/8 + (modInfo->bps%8 != 0);
  35.     
  36.     MyUnsignedFix2Double(modInfo->rate, &dblRate);
  37.     dblVal = value*dblRate/1000*frameSize;
  38.     newVal = dblVal;
  39.     newVal -= newVal%frameSize;
  40.     
  41.     return newVal;
  42. }